从文件系统加载图像

您可以从 Kanzi Studio 中的图像创建纹理,或在 Kanzi 应用程序中从运行该应用程序的设备文件系统加载或使用图像。

要从文件系统加载图像:

  1. 在 Kanzi Studio 中使用应用程序 (Application) 模板创建工程。
  2. 在 工程 (Project) 中,创建要显示纹理的节点,在 属性 (Properties) 中将 材质 (Material) 属性设置为支持纹理的材质。请参阅使用材质类型和使用材质。
    例如,在 工程 (Project) 中创建方框 (Box) 节点并在 属性 (Properties) 中将 材质 (Material) 设置为 VertexPhongTexturedMaterial。
  3. 在工程 (Project) 中选择您在上一步中创建的节点,在属性 (Properties) 中添加纹理 (Texture) 属性,并将其设置为资源 ID。
    例如,将 纹理 (Texture) 属性设为资源 ID BoxTexture。
    这样即可分配稍后用于显示纹理的资源 ID 到 纹理 (Texture) 属性。
  4. 在 工程 (Project) 中 按下 Alt 并右键点击 您创建的节点并选择别名 (Alias)。请参阅使用别名。
    Kanzi Studio 会创建一个别名(它指向您从中创建该别名的节点),并将该别名添加到它的含资源字典的最近祖先节点的资源字典中。
    使用别名 (Alias) 实现对 Kanzi 节点的一致访问。您可以使用别名在 Kanzi Studio、Kanzi Engine API 或脚本中访问节点。
  5. 在Kanzi Studio 中选择文件 (File) > 导出 (Export) > 导出 KZB (Export KZB)。
    Kanzi Studio 从 Kanzi Studio 工程创建 kzb 文件和配置文件。Kanzi Studio 将导出的文件存储在 <ProjectName>/Application/bin 目录或您在 工程 (Project) > 属性 (Properties) 的二进制导出目录 (Binary Export Directory) 属性中指定的位置。Kzb 文件包含 Kanzi Studio 工程中的所有节点和资源,您在本地化表中标记为本地化包的资源除外。
    当您从 Visual Studio 中运行您的 Kanzi 应用程序时,您的应用程序就会加载 kzb 文件和配置文件。
  6. 将要在 纹理中使用的图像放到 <ProjectName>/Application/bin。
  7. 在 Visual Studio 中,为您的应用程序打开位于 Application/configs/platforms/win32 的 Visual Studio 解决方案。 在 C++ 应用程序中,加载纹理。
    //在应用程序主要类中,使用 onProjectLoaded()
    //虚拟函数从文件系统加载文件。
    virtual void onProjectLoaded()
    {
        //获得应用程序的 屏幕 (Screen) 节点。
        ScreenSharedPtr screenNode = getScreen();
        //获得使用 #Box 别名的 方框 (Box) 节点。
        Model3DSharedPtr box = screenNode->lookupNode<Model3D>("#Box");
        //从 <ProjectName>/Application/bin 目录加载纹理。
        box->addResource(ResourceID("BoxTexture"), "file://./Red.png");
    }
  8. 在 Visual Studio 中,为您的 Visual Studio 版本选择一个解决方案配置并运行应用程序。
    例如,如果您仍在开发应用程序,选择GL_vs2015_Debug 配置。要创建 Kanzi 应用程序的产品版本,选择一个可用的发布配置。

    启动应用程序时,Kanzi 加载存储在 <KanziWorkspace>/Projects/<ProjectName>/Application/bin 中的图像,并从图像创建纹理。当 Kanzi 加载应用程序 kzb 文件时,它将纹理设置到您在 onProjectLoaded 函数中获得的节点。

另请参阅

纹理

使用材质类型

使用材质

使用别名

使用 kzb 文件

API reference